// let num = 123
// 接口
// interface numbers {
//   name: string
//   value: number
// }
// 接口引用
// let msg: numbers = {
//   name: '王小虎',
//   value: 122
// }
// 对象数组
// let arr: Array<{}> = [{}, {}]
// 元祖
// let arr1: [string, number, boolean]
// arr1 = ['123', 23456789, true]
// let const class interface export import function

// let b = 123
// b = 456

// const c = []


// let a = 123
// console.log(a)  // undefined
// function demo(a: number, b: number) {
//   return a + b
// }
const b: boolean = true
const n: number = 123
const s: string = '123'
n + s // 123123
const a:Array<number> = [123, 456, 987]
// const arr:Array<string> = ['11', '22', '33']
// const arrays: [] = []
const o:{} = {
  name: '王小虎'
}
let nu
console.log(nu);
// bigint
// undefined 类型

let bn: bigint = 123456n
let s1: symbol = Symbol(123)
let s2: symbol = Symbol(123)
if (s1 === s2) {
  console.log(1);
} else {
  console.log(2);
}
// tuple（元组类型）
// enum（枚举类型）
// any（任意类型）
// void 类型
// let t: [string, number, string]
// t = ['123', 456, '789']
// enum Color {Red, Green, Blue}
// let c: Color = Color.Green

// const an: any = '123'

// function hello(a: number, b: number): void {
//   alert("Hello Runoob");
//   return a + b
// }
// const msg: number & string = '123' // never
// unknown 类型

const list:Array<number> = [2, 82, 96, 5, 654]

const bubbleSort = (arr: Array<number>) => {
  // 获取数组长度
  const len = arr.length
  for (let i: number = 0; i < len - 1; i++) {
    for (let j: number = 0; j < len - 1 - i; j++) {
      // 比较第 j 位与第 j+1 位 小的移动到数组头部
      if (arr[j] > arr[j + 1]) {
        const v = arr[j + 1]
        arr[j + 1] = arr[j]
        arr[j] = v
      }
    }
  }
  console.log(arr)
  return arr
}
bubbleSort(list)
export default {}
// enum